Autonomous, non-interactive, context-based services for cellular phone

ABSTRACT

Embodiments include but are not limited to cellular phones, methods practice thereon, for autonomously servicing a call or a message, on behalf of the user, without interacting with the user, are disclosed herein. In various embodiments, data about a user of the cellular phone, internal conditions of the cellular phone, or external environment of the cellular phone are locally collected and from a wireless communication network. In various embodiments, multiple agents are provided to the cellular phone, wherein each agent is configured to determine, on receipt of a received call or message, a current service context based at least in part on some of the data stored, and autonomously servicing the received call or message based on the results of the determination. Other embodiments may be described and claimed.

TECHNICAL FIELD

Embodiments of the present disclosure relate to cellular phones, andmore particularly, to autonomous, non-interactive context-based services(beyond traditional telephony and personal information managementapplications) on a cellular phone.

BACKGROUND

Cellular phones have achieved amazing market penetration worldwide, andhave become commonplace in modern life. This trend has pushedmanufacturers to increase the capabilities of these devices. In theircurrent form, services provided by the cellular phone generally requireexplicit interaction with the user.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure will be readily understood by thefollowing detailed description in conjunction with the accompanyingdrawings and the appended claims. To facilitate this description, likereference numerals designate like structural elements. Embodiments ofthe disclosure are illustrated by way of example and not by way oflimitation in the figures of the accompanying drawings.

FIG. 1 illustrates an overview of a cellular phone with autonomousservice, in accordance with various embodiments.

FIG. 2 is a block diagram of the cellular phone of FIG. 1 in furtherdetails, in accordance with various embodiments.

FIG. 3 illustrates various examples of autonomous servicing of a call,in accordance with various embodiments.

FIG. 4 illustrates various examples of autonomous servicing of messages,in accordance with various embodiments.

FIG. 5 is a flowchart illustrating a method of autonomous service on acellular phone, in accordance with various embodiments.

FIG. 6 is a block diagram of a computer program product withinstructions for providing autonomous service on a cellular phone, inaccordance with various embodiments.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments in which the disclosure may be practiced. It isto be understood that other embodiments may be utilized and structuralor logical changes may be made without departing from the scope of thepresent disclosure. Therefore, the following detailed description is notto be taken in a limiting sense, and the scope of embodiments inaccordance with the present disclosure is defined by the appended claimsand their equivalents.

Various operations may be described as multiple discrete operations inturn, in a manner that may be helpful in understanding embodiments ofthe present disclosure; however, the order of description should not beconstrued to imply that these operations are order dependent. Moreover,some embodiments may include more or fewer operations than may bedescribed.

The description may use the phrases “in an embodiment,” “inembodiments,” “in some embodiments,” or “in various embodiments,” whichmay each refer to one or more of the same or different embodiments.Furthermore, the terms “comprising,” “including,” “having,” and thelike, as used with respect to embodiments of the present disclosure, aresynonymous, and are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.).

As used herein, “coupled,” along with its derivatives, may mean one ormore of the following. “Coupled” may mean a direct physical orelectrical coupling or connection, wherein there is no other elementcoupled or connected between the elements that are said to be coupledwith each other. “Coupled” may also mean an indirect physical orelectrical coupling or connection, where one or more other elements arecoupled or connected between the elements that are said to be coupledwith each other.

For the purposes of the present disclosure, the phrase “A/B” means A orB. The phrase “A and/or B” means “(A), (B), or (A and B).” The phrase“at least one of A, B, and C” means “(A), (B), (C), (A and B), (A andC), (B and C), or (A, B and C).” The phrase “(A)B” means “(B) or (AB),”that is, A is an optional element. In addition, although embodiments ofthe present disclosure may be shown and described as including aparticular number of components or elements, embodiments of thedisclosure are not limited to any particular number of components orelements.

Turning now to FIG. 1, illustrated is an overview of a cellular phonewith autonomous service in accordance with various embodiments. For theembodiments and as shown, cellular phone 100, incorporated with theteachings of the present disclosure, may be coupled with a network 102,e.g., the Internet. Cellular phone 100 may be designed to provideautonomous service to increase the amount of functions performed foruser 104. Autonomous services refer to services provided by cellularphone 100 for user 104, without interaction with or intervention by user104. Although in minority or exception situations, user interaction orintervention may be requested. As will be described in more detailbelow, in various embodiments, autonomous services are performed basedat least in part on dynamically determined service contexts.

For the embodiments, cellular phone 100 may include a number of datacollection modules 112. In various embodiments, data collection modules112 may be configured to collect and store data about user 104, internaloperating conditions of cellular phone 100, and/or external environmentof cellular phone 100. In various embodiments, data collection modules112 may collect the data locally (e.g., through local monitoring and/orsensing), as well as from the Internet, thereby significantly broadeningthe repertoire of data available to support the variety of autonomousservices provided as well as enhancing the precision of the autonomousservices provided.

Cellular phone 100, as illustrated, may further include a number ofagents 114 configured to perform a number of services for user 104autonomously, in particular, services for servicing various calls ormessages received. Calls may be transmitted to cellular phone 100 viaany one of a number of wireless communication protocols, including butnot limited to Code Division Multiple Access (CDMA), Global System forMobile Communication (GSM) and so forth. Messages may be conventionaltext, email, short messaging service (SMS) or multi-media messagingservice (MMS) messages. A message may include a request, e.g., a requestto authorize a transaction or approval an action. A message may alsoreport a status of a device or an occurrence of an event.

For some example embodiments, each of agents 114 may be configured todetermine, on receipt of a call or a message to be autonomouslyserviced, a service context, based at least in part on some of the datacollected and stored about the user, the internal conditions and theexternal environment. Examples of a service context may include but arenot limited to the user 104 being at home, the user 104 being work, theuser 104 being busy, the user 104 being available, battery being low,signal being weak, processor being busy, storage being full, externaltemperature being cold, humidity being high, and so forth. Further, eachof agents 114 may be configured to autonomously service the receivedcall or message, without interaction with the user 104 or substantiallywithout interactions with the user 104, based at least in part on thedetermined service context.

FIG. 2 is a block diagram of cellular phone 100 of FIG. 1 in furtherdetail, in accordance with various embodiments. As shown, the examplearchitecture of the computing apparatus 100 may include one or more of auser interface 206, an application layer 208, data collection andprovision modules 222-226, a services layer 210, and a network stack212. The various interface, layers and modules may be implemented byexecutable instructions stored in various storage media 202, or executedby one or more processors 201. Storage medium 202 may be of varioustypes, including but not limited to, e.g., non-volatile memory, such asflash memory. Processors 201 may be of various types also, including butnot limited to, e.g., reduced instruction set computer (RISC)processors.

User interface 206 may be configured to support one or more user inputand/or output devices through which a user may input commands and dataor observe output information. Such devices may include a displaydevice, a speaker, a microphone, a keyboard, a pointing device (e.g., amouse, a trackball, or a touch pad), or the like.

Cellular phone 100 may be coupled to the network 102 using the networkstack 212. The network stack 212 may be primarily concerned withnetworking details for coupling the cellular phone 100 to a wirelessnetwork. The network stack 212 may be configured to couple the cellularphone 100 to a wireless wide area network (WWAN) or a wireless localarea network (WLAN) that may provide access to a broadband network suchas the Internet.

The application layer 208 may include agent applications 214 as well asvarious traditional applications 216 such as, telephone application,text messaging application, or e-mail application. The agentapplications (or simply agents) 214 may be configured to service areceived call or message on behalf of the user, autonomously, withoutinteraction with the user, or substantially without interaction with theuser.

The agents 214 may be designed to determine the service context, onreceipt of a call or message to be autonomously serviced. As describedearlier, each agent 214 may be configured to determine the servicecontext, on receipt of a call or message to be serviced, based at leastin part on some of the data 222 collected about a user, internaloperating conditions (system status) 224, and external environment 226.Further, each agent application 214 may be configured to thereafterautonomously service the received call or message, based at least inpart on the determined service context.

As described earlier, cellular phone 100 may employ a number of datacollection modules 112 to collect and store the data 222 about the user,the internal operating conditions (also may be referred to as “systemstatus”) 224, and the external environment (also may be referred to as“External Data”) 226, and the collection may be locally and from theInternet. In various embodiments, cellular phone 100 may be providedwith one or more sensors 203 in assisting in the local collection ofdata 222 about the user (User Data), internal operating conditions 224(System Status), and/or external environment 226 (External Data).

In some embodiments, collecting and storing data 222 about the user mayinclude one or more of collecting and storing data about the user'scurrent context, e.g., whether the user is at home, at work, or neither,the user's current status, e.g., whether the user is busy or available,the user's calendar, the user's contacts, the user's to-dos, and soforth. Collecting and storing data about internal operating conditionsmay include collecting and storing data about one or more of thecellular phone's power, memory availability, storage availability, CPUutilization, and so forth. Collecting and storing data about theexternal environment may comprise collecting and storing data about oneor more of the cellular phone's current geographical location, signalstrength, signal interference, external temperature, external humidity,and so forth.

For some embodiments, cellular phone 100 may further include a commonservice layer 210 (Services) located in between the network stack 212and the application layer 208. The services layer 210 may be configuredto be a gateway between the network and applications operating oncellular phone 100, including agents 214 configured to autonomouslyperform services for the user. The services layer 210 may also beconfigured to route a received call or message to one of theapplications 214-216 in application layer 208 to process or service. Invarious embodiments, service layer 210 may also be designed to performadditional services including, for example, voicemail recording, smartfiltering of unwanted communication, or the like.

In various embodiments, agents 214 may be programmed with decision logic(or decision logic trees) of varying levels of complexity. For example,a decision logic may be to simply ignore, forward, or route all calls tovoicemail when the user is at work. The decision logic may be refinedsuch that all calls are ignored, forwarded, or routed to voicemail whenthe user is at work except if those calls are from a certain person orif the user is at her desk versus in a meeting. The decision logic maybe broadly categorized into “contexts” (e.g., work, home, vacation,etc.), which may be triggered in certain conditions.

In various embodiments, the agents 214 may be explicitly and/orimplicitly programmed to autonomously service a call or a message.Explicit programming may entail explicitly specifying the desiredbehaviors and the conditions for triggering the desired behaviors. Tothat end, the cellular phone 100 may be endowed with a graphical userinterface (GUI) or the like to facilitate the programming interaction.In various embodiments, another computing apparatus may be explicitlyprogrammed with the desired behaviors and then the cellular phone 100may be synchronized with the other computing apparatus.

Additionally or alternatively, agents 214 may be implicitly programmedto provide the autonomous services. Implicit programming may involvepassive learning by the agents 214 in which a user's behavior isobserved by the agents 214 and/or by explicit hints provided by theuser. An example of passive learning could be a situation in which theagents 214 has an alarm function and it is observed that the user onlyuses the alarm on weekdays and turns off the alarm function on weekends.In this example, agents 214 may learn to turn the alarm function off onweekends on its own, without requiring the user to explicitly set theconditions. In some embodiments, behavior may be adapted in someembodiments only after a degree of certainty has been achieved (e.g.,more than one or two actions may be required before it is considered a“behavior”).

In various embodiments, agents 214 may be configured to record theautonomous services provided into a log, and the log may be periodicallysubmitted to an external analysis service for analysis and to providefeedback to the agents. In turn, agents may self-modify their processesin determining the current service context or self-modify the manner inwhich a call or message is autonomously serviced based at least in parton a determined service context. In various embodiments, agents 214 maybe configured to self-modify current service context determinationand/or autonomous service based on a determined service contextperiodically.

FIG. 3 illustrates various examples of autonomous servicing of a call ofvarious embodiments. As illustrated, cellular phone 100 may receive acall 330 through the wireless communication network 102 from anotherphone 328, which may be another cellular phone. On receipt of the call330, if not filtered, e.g., because it is not a marketing call, servicelayer 210 may route the call 330 to one of the agents 214 (as opposed tothe traditional telephone application 216). On receipt of the call 330,the agent 214 may determine the service context at the time, based atleast in part on some of the data collected and stored about the user,the internal operating conditions and/or the external environment.Thereafter, the agent 214 may autonomously service the call 330 e.g., byletting the call 330 ring through, routing the call 330 to thetraditional telephone application 216, routing the call 330 to a voicemessage service (not shown), and so forth.

In various embodiments, cellular phone 100 may receive multiple calls330 from multiple other phones 328 at the same time. For theseembodiments, upon having routed the calls 330 by common service layer210, agent 214 may determine the service context by determining thecallers, the relative priority of the callers, based at least in part onsome of the data collected and stored about the user, the internaloperating conditions and/or external environment. Thereafter, agent 214may route or otherwise dispose the various calls 330 based at least inpart on the determined service context. For example, when one of thecallers is determined to be the boss of the user, and having priorityover all other calls, the boss' call may be allowed to automatically cutin, replacing a lower priority current call, which may be put on hold.

FIG. 4 illustrates various examples of autonomous servicing of messagesof various embodiments. As illustrated, cellular phone 100 may receive amessage 432 from a remote computing apparatus 430 a, an appliance 430 b,or a device 430 c of another type. The remote computing apparatus 430 amay comprise a mobile electronic device such as, but not limited to, amobile phone, a laptop computer, or a personal digital assistant, or asubstantially stationary computing apparatus, such as a server, adesktop computer or the like. In various embodiments, the remoteappliance 430 b may comprise a home appliance, an entertainment orgaming system, or an audio system. In various embodiments, the homeappliance 430 b may comprise, but not limited to, a range/oven, adishwasher, a washer, a dryer, heating/ventilation/cooling system, orthe like. In various embodiments, device 430 c may comprise a medicaldevice, a storage device and so forth.

As described earlier, the message 432, sent from one of the remotecomputing apparatus 430 a, appliance 430 b or device 430 c of anothertype (hereinafter, may be referred to collectively as “remoteapparatus”) may be a conventional communication message, or a messagereporting the status of a device or occurrence of an event. The devicemay be the message sending apparatus itself. Similarly, upon having beenrouted the message 432 by common service layer 210, agent 214 maydetermine the service context, based at least in part on some of thedata collected and stored about the user, the internal operatingconditions and/or external environment. Thereafter, agent 214 mayautonomously service the message 432, based at least in part on thedetermined service context.

The interaction with the remote apparatus may include, but is notlimited to, an agent 214 monitoring, controlling, obtaining informationfrom, managing data, or otherwise interacting (e.g., receiving and/ortransmitting data) with the remote apparatus. In some embodiments, theremote apparatus may be monitored and data may be collected regardingthe monitoring and/or the user 104 of cellular phone 100 may be alertedor interrupted in some manner conditioned on the occurrence of an eventon the user's cellular phone 100. The alerts 436 may be conveyedvisually, e.g., through blinking lights, audibly, e.g., through audiobeeps or other means. In various embodiments, controlling of the remoteapparatus may be conditioned on the occurrence of an event on the user'scellular phone 100.

In some embodiments, for example, the remote appliance 430 b maycomprise a home appliance or an entertainment system, alarm, while theother device 430 c may comprise a medical device, which may be monitoredand/or controlled by the user's cellular phone 100. For example, theuser's cellular phone 100 may autonomously monitor a medical device 430c (e.g., a pacemaker, a glucose monitor, etc.). The user's cellularphone 100 may be further configured to send a message 434 to control themedical device 430 c to perform some action in response to somecondition (e.g., alert the user 104 if heartbeat or glucose readings areabnormal).

As noted herein, apparatuses, systems, and methods for autonomousservice on a cellular phone may be integrated into a work-flow, perhapsin an office-type environment. In some of these embodiments, incomingrequests received on the cellular phone 100 (e.g., by email, text, etc.)may be autonomously delegated 452 to another entity or device 450,sometimes on the basis of recent or long-term activity efforts. Thedelegation 452 may be addressed in a way, due to heuristic rules orstatistical models, to facilitate work objectives. This may allow theuser 104 to save time in explicitly reading the request and thendelegating it out. This may also allow work to be performed more quicklyin that the work may be immediately delegated instead of beingcontingent on some intervention by the user 104.

In an example, the cellular phone 100 may be part of an infrastructurein which information may be exchanged between various appliances 430 band cellular phone 100, which may allow coordination between theappliances 403 b and cellular phone 100. For example, a message 434including a command may be issued by the cellular phone 100 to instructan audio system 430 b within the infrastructure to reduce in volume ormute in response to an incoming call to the cellular phone 100.

Autonomous service on cellular phone 100 may be used for various socialnetworking applications. In particular, the user's cellular phone 100may be configured to determine the status of the remote computingapparatus 430 a and take some action for facilitating social networkingbetween the user's cellular phone 100 and the remote computing apparatus430 a (presumably a “friendly” computing apparatus). In someembodiments, the user's cellular phone 100 may be configured to detect astimulus including a request from the remote computing apparatus 430 aand take some action for facilitating social networking between theuser's cellular phone 100 and the remote computing apparatus 430 a(e.g., providing a message 434 having information regarding the locationor status or the user 104).

In various embodiments, the user's cellular phone 100 may determinewhether the remote device 430 c is located nearby, and if so, may alertthe user 104. In some embodiments, the user's cellular phone 100 maydetermine a calendar schedule of the user of the remote device 430 c andstore data regarding the calendar schedule on the user's cellular phone100. In still further embodiments, the user's cellular phone 100 mayalert (e.g., by text messaging 434) the user of the remote device 430 cthat the user 104 is nearby.

Autonomous service on cellular phone 100 and interaction with the remoteapparatus, appliance or device 430 a-430 c may be used for management ofdata stored on the user's cellular phone 100. Data management mayinclude storing or backing-up of data from the user's cellular phone 100onto the remote device 430 c. In various ones of these embodiments, forexample, the user's cellular phone 100 automatically determines (via oneof the agents 214 running in the background on the cellular phone 100)that the user's cellular phone 100 has data to be backed up or has datafor storing onto the remote device 430 c. The user's cellular phone 100may proceed with the backing up of the data from the cellular phone 100onto the remote device 430 c by sending messages 434 containing the datato be backed up to remote device 430 c. In some embodiments, the backingup of data may be limited to when the user's cellular phone 100 and theremote device 430 c are within a specified proximity.

In a specific example, a cellular telephone 100 with a digital camerainterface may be configured via an agent 214 to detect when the cellulartelephone 100 is within a close proximity of a remote computingapparatus 430 a (e.g. a desktop computer) and automatically backup thestored digital pictures on the desktop computer 430 a. In this specificexample, the cellular telephone 100 identifies a contextual awareness ofthe environment (e.g., context=“near desktop computer”), andautonomously downloads (or backs up) the digital picture data based onthe identified context.

Further examples of tasks that may be performed autonomously may includethe handling or smart filtering of incoming emails, calls, or textmessages (e.g., by service 210). Incoming emails or text messages fromthe remote apparatus, appliance or device 430 a-430 c may beautomatically forwarded, ignored, or prioritized without any awarenessfrom the user 104, using agents 214 and/or services 210.

In various embodiments, the cellular phone 100 may be configured toreceive or retrieve data from the remote computing apparatus, 430 a-430c or some other source external to the user's cellular phone 100, andinterrupt the cellular phone 100 or alert 436 the user 104 based atleast in part on the content of the data. Whether the user 104 isalerted or the cellular phone 100 is interrupted from its currentprocess(es) may depend at least in part on the occurrence of acondition, indicated by the content of the data. In various embodiments,for example, the cellular phone 100 may be configured to receive orretrieve data on stocks, news, or weather. The cellular phone 100 mayautonomously analyze the data, and in embodiments, may also autonomouslystore the data. If the content of the data meets some condition (e.g., acertain stock price, certain keywords of a news item, certain types ofweather, etc.), the cellular phone 100 may then interrupt alert the user104 or interrupt its current process(es).

In various embodiments, agents 124 of cellular phone 100 may beconfigured e.g. with one or more agents 214 having security features toreduce the risk of unfriendly reverse engineering or successfullypredicting the action of the cellular phone 100. Accordingly, in variousembodiments, the autonomous services performed by an agent 214 withsecurity features may be randomized (within a valid set) such that theirprediction may be made more difficult.

Various embodiments described herein may find application for validatingor authenticating various activities. For example, credit card orautomatic teller machine transactions may be authenticated in accordancewith various embodiments. The ignition system of a motor vehicle maysimilarly require authentication prior to allowing starting up of themotor vehicle. Various electronic devices may be similarly configured torequire the provision of authenticating information for access thereto.

In these embodiments, the remote computing apparatus 430 a may comprisean authenticating computing apparatus configured to receive or retrieveover the network 102 a request for an action to occur at a firstlocation (e.g., the motor vehicle's location, the vendor's location,etc.). The authenticating computing apparatus 430 a may be configured toprovide a request for authentication information to the user's cellularphone 100, located at a second location. The authenticating computingapparatus 430 a may be configured to prevent or disallow the requestedaction to occur until valid authentication information is received fromthe user's cellular phone 100.

The user's cellular phone 100, upon receipt of the authenticationrequest, may provide the requested authentication information to theauthenticating computing apparatus 430 a. In various embodiments, theauthentication information may be information regarding the location ofthe user's cellular phone 100 (e.g., coordinates, address, etc.). Asnoted herein, the location of the user's cellular phone 100 may, byextension, provide information as to the location of the user 104. Ascertain requested actions would require the first location (location forthe requested action to occur) and the second location (the location ofthe user's cellular phone 100/user 104) to be substantially the samelocation, providing this location information as the authenticationinformation may be sufficiently authenticating.

For example, if a request is received for a credit card transaction tooccur at a store at a particular address, it is usually safe to assumethat the user 104 would be at the store along with the user's cellularphone 100. Similarly, if a request is received to start up the user'smotor vehicle at a particular location, it is usually safe to assumethat the user 104 would be at that motor vehicle along with the user'scellular phone 100.

The authenticating computing apparatus 430 a may receive or retrieve theauthentication information from the user's cellular phone 100 to verifythe requested action, and then facilitate the performance of therequested action based at least in part on the authenticationinformation. Facilitation of the requested action may include permittingthe requested action to proceed (e.g., if the first location and thesecond location are substantially the same location). The requestedaction may, on the other hand, be disallowed if the authenticationinformation is not valid (e.g., the first location and the secondlocation are substantially different locations). In this case, a furtheraction may include alerting the user 104 to notify the user of therequested action and/or requesting the user 104 to take some action toaffirmatively authenticate the request action. The furtherauthentication may include, but is not limited to, requesting the userto call the credit card company to provide some indication of approvalof the action (e.g., a personal identification number, voicerecognition, etc.)

FIG. 5 is a flowchart illustrating a method 500 of autonomous service ona cellular phone, in accordance with various embodiments. A call ormessage may be received at block 502. A message may comprise a request,e.g., a request to authorize a transaction, approve an action, and soforth, or a report, reporting e.g., a status of a device, an occurrenceof an event, and so forth.

A service context may be determined at block 504. The service contextbased may be determined based at least in part on some of the datacollected and stored, about the user, the internal conditions of thecellular phone, and/or the external environment.

At block 506, a decision may be made whether to interrupt or alert theuser, or to autonomously service the call or message. If it isdetermined that the user should be interrupted or alerted, the user maybe interrupted or alerted accordingly at block 508. The interruption oralert may be performed in any one of a number of manners, via pop upmessages, blinking lights, one or more audio beeps, vibration and soforth. On the other hand, if it is determined that the user should notbe interrupted or alerted, the call or message may autonomously beserviced at block 510, without interaction with the user, based at leastin part on the determined current service context.

Computer program products and/or systems may be employed to enableperformance of one or more methods as disclosed herein. For example, acomputer program product may be adapted to enable a cellular phone toperform autonomous service on behalf of a user.

FIG. 6 is a block diagram of a computer program product 600 withinstructions for providing autonomous service on a cellular phone, inaccordance with various embodiments. The example computer programproduct 600 may comprise a computer readable storage medium 632 and aplurality of programming instructions 634 stored in the computerreadable medium 632. In various ones of these embodiments, theprogramming instructions 634 may be adapted to program a cellular phoneto enable the cellular phone to collect data about a user of thecellular phone, internal operating conditions of the cellular phone,and/or external environment of the cellular phone. The collection may becollected locally as well as from the Internet. The instructions 634 mayalso enable the cellular phone to determine, on receipt of a call or amessage, a current service context, based at least in part on some ofthe data collected and stored. Further, the instructions 634 may alsoenable the cellular phone to autonomously service the received call ormessage, without interacting with the user, based at least in part onthe determined service context.

Embodiments may have some or all of the instructions depicted in FIG. 6.Embodiments of computer program product 600 may have other instructionsin accordance with embodiments described herein. The computer readablemedium 632 may take a variety of forms including, but not limited to,volatile and persistent memory, such as, but not limited to, a compactdisk (CD), a digital versatile disk (DVD), a solid-state drive, a harddrive, and so forth. Embodiments are not limited to any type or types ofcomputer program products.

Claimed subject matter is not limited in scope to the particularimplementations described herein. For example, some implementations maybe in hardware, such as employed to operate on a device or combinationof devices, for example, whereas other implementations may be insoftware and/or firmware. Likewise, although claimed subject matter isnot limited in scope in this respect, some implementations may includeone or more articles, such as a storage medium or storage media. Thisstorage media, such as CD-ROMs, computer disks, flash memory, or thelike, for example, may have instructions stored thereon, that, whenexecuted by a system, such as a computer system, computing platform, orother system, for example, may result in execution of a processor inaccordance with claimed subject matter, such as one of theimplementations previously described, for example. As one possibility, acomputing platform may include one or more processing units orprocessors, one or more input/output devices, such as a display, akeyboard and/or a mouse, and one or more memories, such as static randomaccess memory, dynamic random access memory, flash memory, and/or a harddrive.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein can be effected (e.g., hardware, software, and/or firmware), andthat the preferred vehicle will vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

In some embodiments, several portions of the subject matter describedherein may be implemented via Application Specific Integrated Circuits(ASICs), Field Programmable Gate Arrays (FPGAs), digital signalprocessors (DSPs), or other integrated formats. However, those skilledin the art will recognize that some aspects of the embodiments disclosedherein, in whole or in part, can be equivalently implemented inintegrated circuits, as one or more computer programs running on one ormore computers (e.g., as one or more programs running on one or morecomputer systems), as one or more programs running on one or moreprocessors (e.g., as one or more programs running on one or moremicroprocessors), as firmware, or as virtually any combination thereof,and that designing the circuitry and/or writing the code for thesoftware and or firmware would be well within the skill of one of skillin the art in light of this disclosure. In addition, those skilled inthe art will appreciate that the mechanisms of the subject matterdescribed herein are capable of being distributed as a program productin a variety of forms, and that an illustrative embodiment of thesubject matter described herein applies regardless of the particulartype of signal bearing medium used to actually carry out thedistribution. Examples of a signal bearing medium include, but are notlimited to, the following: a recordable type medium such as a floppydisk, a hard disk drive, a Compact Disc (CD), a Digital Video Disk(DVD), a digital tape, a computer memory, etc.; and a transmission typemedium such as a digital and/or an analog communication medium (e.g., afiber optic cable, a waveguide, a wired communications link, a wirelesscommunication link, etc.).

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

Although the present disclosure has been described in terms of theabove-illustrated embodiments, it will be appreciated by those ofordinary skill in the art that a wide variety of alternate and/orequivalent implementations calculated to achieve the same purposes maybe substituted for the embodiments shown and described without departingfrom the scope of the present disclosure. Those with skill in the artwill readily appreciate that embodiments in accordance with the presentdisclosure may be implemented in a very wide variety of embodiments.This description is intended to be regarded as illustrative instead ofrestrictive.

What is claimed is:
 1. A method for an autonomous service that interactswith a wireless communication network on behalf of a user, the methodcomprising: collecting and storing one or more of data about the user ofa cellular phone, data about internal operating condition of thecellular phone, or data about external environment of the cellularphone, wherein collecting comprises either local collecting via thecellular phone or remotely collecting from the wireless communicationnetwork; receiving, by a common service layer on the cellular phone, amessage from the wireless communication network; routing, by the commonservice layer, the received message to an agent on the cellular phone;determining, by the agent, a current service context based on one ormore of the stored data about the user of the cellular phone, the storeddata about the internal operating condition of the cellular phone, orthe stored data about the external environment of the cellular phone;and autonomously servicing, by the agent, the received message based atleast in part on the determined current service context, withoutinteracting with the user; wherein the receiving comprises receiving, bythe common service layer, a message requesting approval of a credit cardcharge for a purchase by the user, the determining comprisesdetermining, by the agent, a current geographical location of thecellular phone and a geographical location of the purchase based atleast in part on some of the stored data, and the autonomous servicingcomprises approving or disapproving, by the agent, the credit cardcharge based at least in part on the results of the determining.
 2. Themethod of claim 1, wherein the collecting and storing data about theuser of the cellular phone comprises collecting and storing data aboutone or more of a current context for the user, a current status for theuser, a calendar for the user, contacts for the user, or to-dos for theuser.
 3. The method of claim 1, wherein the collecting and storing datacomprises collecting at least some of the data using sensors integratedwith the cellular phone.
 4. The method of claim 1, further comprisingthe agent self-modifying the determining of the service context or theautonomous service for the message, for a determined service context. 5.A method for an autonomous service that interacts with a wirelesscommunication network on behalf of a user, the method comprising:collecting and storing one or more of data about the user of a cellularphone, data about internal operating condition of the cellular phone, ordata about external environment of the cellular phone, whereincollecting comprises either local collecting via the cellular phone orremotely collecting from the wireless communication network; receiving,by a common service layer on the cellular phone, a message from thewireless communication network; routing, by the common service layer,the received message to an agent on the cellular phone; determining, bythe agent, a current service context based on one or more of the storeddata about the user of the cellular phone, the stored data about theinternal operating condition of the cellular phone, or the stored dataabout the external environment of the cellular phone; and autonomouslyservicing, by the agent, the received message based at least in part onthe determined current service context, without interacting with theuser; wherein the receiving comprises receiving, by the common servicelayer, a message requesting authorization of an ignition of anautomobile, the determining comprises determining, a currentgeographical location of the cellular phone and a geographical locationof the automobile based at least in part on some of the stored data, andthe autonomous servicing comprises authorizing or denying, by the agent,the ignition of the automobile based at least in part on the results ofthe determining.
 6. The method of claim 5, wherein the collecting andstoring data about internal operating condition of the cellular phonecomprises collecting and storing data about one or more of a powercondition for the cellular phone, a memory availability condition ofcellular phone, a storage space availability condition for the cellularphone, or a CPU utilization condition for the cellular phone.
 7. Themethod of claim 5, wherein the routing is conditional, and comprisesfiltering, by the common service layer of the cellular phone, thereceived message.
 8. The method of claim 5, wherein the determining thecurrent service context comprises identifying a location associated withthe cellular phone, wherein the location corresponds to one of at home,at work, or another location different from at home or at work.
 9. Amethod for an autonomous service that interacts with a wirelesscommunication network on behalf of a user, the method comprising:collecting and storing one or more of data about the user of a cellularphone, data about internal operating condition of the cellular phone, ordata about external environment of the cellular phone, whereincollecting comprises either local collecting via the cellular phone orremotely collecting from the wireless communication network; receiving,by a common service layer on the cellular phone, a message from thewireless communication network; routing, by the common service layer,the received message to an agent on the cellular phone; determining, bythe agent, a current service context based on one or more of the storeddata about the user of the cellular phone, the stored data about theinternal operating condition of the cellular phone, or the stored dataabout the external environment of the cellular phone; and autonomouslyservicing, by the agent, the received message based at least in part onthe determined current service context, without interacting with theuser; wherein the receiving comprises receiving, by the common servicelayer, a message reporting on proximal presence of an other device;wherein the determining comprises determining, by the agent, arelationship with the other device or a user of the other device basedat least in part on some of the stored data; and wherein the autonomousservicing comprises interacting with the other device on behalf of theuser of the cellular phone, by the agent, based at least in part on theresults of the determining.
 10. The method of claim 9, wherein thecollecting and storing data about the external environment comprisescollecting and storing data about one or more of a current geographicallocation for the cellular phone, a current external temperature for thecellular phone, or a current external humidity for the cellular phone.11. The method of claim 9, further comprising recording the autonomousservices performed by the agent into an autonomous service log, andperiodically submitting the autonomous service log for analysis by anexternal analysis service.
 12. A method for an autonomous service thatinteracts with a wireless communication network on behalf of a user, themethod comprising: collecting and storing one or more of data about theuser of a cellular phone, data about internal operating condition of thecellular phone, or data about external environment of the cellularphone, wherein collecting comprises either local collecting via thecellular phone or remotely collecting from the wireless communicationnetwork; receiving, by a common service layer on the cellular phone, amessage from the wireless communication network; routing, by the commonservice layer, the received message to an agent on the cellular phone;determining, by the agent, a current service context based on one ormore of the stored data about the user of the cellular phone, the storeddata about the internal operating condition of the cellular phone, orthe stored data about the external environment of the cellular phone;autonomously servicing, by the agent, the received message based atleast in part on the determined current service context, withoutinteracting with the user; wherein the said receiving comprisesreceiving, by the common service layer, a message reporting on a statusor an occurrence of an event associated with an external device; whereinthe determining comprises determining, by the agent, a relationshipbetween the user and the external device and the user's controlpreferences for the external device based at least in part on the storeddata; and wherein the autonomous servicing comprises interacting withthe other device on behalf of the user, by the agent, based at least inpart on the results of the determining.
 13. The method of claim 12,wherein the collecting and storing data comprises receiving input of atleast some of the data from the user.
 14. The method of claim 12,further comprising receiving, by the cellular phone, feedback about theautonomous services performed.
 15. The method of claim 12, wherein thereceiving further comprises simultaneously receiving at least two calls;determining further comprises identifying at least two callers for theat least two calls, determining relative priorities for the at least twocallers, and determining an operating status of the cellular phone,based at least in part on some of the stored data; and autonomousservicing further comprises routing or disposing of the at least twocalls based at least in part on the determined relative priority for theat least two callers based at least in part on the results of thedetermining.
 16. The method of claim 8, wherein the receiving comprisesreceiving a message reporting on an occurrence of an event; wherein thedetermining comprises determining the user's potential interest and thecellular phone's status based at least in part on the stored data; andwherein the autonomous servicing comprises alerting the user of theoccurrence based at least in part on the results of the determining. 17.A cellular phone arranged for communication with a wirelesscommunication network on behalf of a user, the cellular phonecomprising: a wireless communication component arranged forcommunicating with the wireless communication network; a storagecomponent; a processor, wherein the processor is arranged to operate;one or more data collection modules configured to collect and store thedata into the storage component, wherein the data comprises one or moreof data about a user of the cellular phone, data about internaloperating condition of the cellular phone, or data about externalenvironment of the cellular phone, wherein the one or more datacollection modules are configured to locally collect as well as collectfrom the wireless communication network through the wirelesscommunication component; a plurality of agents configured toautonomously service a received message, without interacting with theuser; and a common service layer configured to receive a message, androute the received message to a selected one of the plurality of agentsfor service; wherein each of the agents is configured to determine, onreceipt of a message, a current service context based at least in parton some of the stored data, and autonomously service the receivedmessage based at least in part on the results of the determining; andwherein at least one of the agents is configured to receive a messagerequesting approval of a credit card charge for a purchase by the user,determine a current geographical location of the cellular phone and ageographical location of the purchase based at least in part on some ofthe stored data, and autonomously approve or disapprove the credit cardcharge based at least in part on the results of the determination. 18.The cellular phone of claim 17, wherein the one or more data collectionmodules comprises a data collection module configured to collect andstore into the storage components: data about the user comprising dataabout one or more of a current context of the user, current status, acalendar of the user, contacts of the user, or to-dos of the user, dataabout one or more of power of the cellular phone, memory availability ofthe cellular phone, storage availability of the cellular phone, or CPUutilization of the cellular phone, or data about one or more of acurrent geographical location of the cellular phone, a current externaltemperature of the cellular phone or a current external humidity of thecellular phone.
 19. The cellular phone of claim 17, wherein at leastanother one of the agents is configured to receive feedback about theautonomous services performed.
 20. A cellular phone arranged forcommunication with a wireless communication network on behalf of a user,the cellular phone comprising: a wireless communication componentarranged for communicating with the wireless communication network; astorage component; a processor, wherein the processor is arranged tooperate; one or more data collection modules configured to collect andstore the data into the storage component, wherein the data comprisesone or more of data about a user of the cellular phone, data aboutinternal operating condition of the cellular phone, or data aboutexternal environment of the cellular phone, and wherein the one or moredata collection modules are configured to locally collect as well ascollect from the wireless communication network through the wirelesscommunication component; a plurality of agents configured toautonomously service a received message, without interacting with theuser; and a common service layer configured to receive a message, androute the received message to a selected one of the plurality of agentsfor service; wherein each of the agents is configured to determine, onreceipt of a message, a current service context based at least in parton some of the stored data, and autonomously service the receivedmessage based at least in part on the results of the determining; andwherein at least one of the agents is configured to receive a messagerequesting authorization of an ignition of an automobile, determine acurrent geographical location of the cellular phone and a geographicallocation of the automobile based at least in part on some of the storeddata, and autonomously authorize or deny the ignition based at least inpart on the results of the determination.
 21. The cellular phone ofclaim 20, further comprising one or more sensors configured to sense andgenerate some of the data, wherein the one or more data collectionmodules comprises a data collection module configured to collect some ofthe data from the one or more sensors.
 22. The cellular phone of claim20, wherein at least another one of the agents is configured toself-modify the determining of current service context or the autonomousservice for a message, for a determined current service context.
 23. Acellular phone arranged for communication with a wireless communicationnetwork on behalf of a user, the cellular phone comprising: a wirelesscommunication component arranged for communicating with the wirelesscommunication network; a storage component; a processor, wherein theprocessor is arranged to operate; one or more data collection modulesconfigured to collect and store the data into the storage component,wherein the data comprises one or more of data about a user of thecellular phone, data about internal operating condition of the cellularphone, or data about external environment of the cellular phone, whereinthe one or more data collection modules are configured to locallycollect as well as collect from the wireless communication networkthrough the wireless communication component; a plurality of agentsconfigured to autonomously service a received message, withoutinteracting with the user; and a common service layer configured toreceive a message, and route the received message to a selected one ofthe plurality of agents for service; wherein each of the agents isconfigured to determine, on receipt of a message, a current servicecontext based at least in part on some of the stored data, andautonomously service the received message based at least in part on theresults of the determining, and wherein at least one of the agents isconfigured to: receive a message reporting on proximal presence of another device, determine a relationship with the other device or a userof the other device based at least in part on some of the store data,and autonomously interact with the other device on behalf of the user ofthe cellular phone based at least in part on the results of thedetermination.
 24. The cellular phone of claim 23, wherein the commonservice layer is configured to conditionally route a received message,wherein the common service layer is configured to filter the receivedmessage.
 25. The cellular phone of claim 23, wherein at least anotherone of the agents is further configured to receive a call, determinewhether the user is at home, at work or neither based at least in parton the stored data, and autonomously route or dispose the call based atleast in part on the results of the determination.
 26. A cellular phonearranged for communication with a wireless communication network onbehalf of a user, the cellular phone comprising: a wirelesscommunication component arranged for communicating with the wirelesscommunication network; a storage component; a processor, wherein theprocessor is arranged to operate; one or more data collection modulesconfigured to collect and store the data into the storage component,wherein the data comprises one or more of data about a user of thecellular phone, data about internal operating condition of the cellularphone, or data about external environment of the cellular phone, andwherein the one or more data collection modules are configured tolocally collect as well as collect from the wireless communicationnetwork through the wireless communication component; a plurality ofagents configured to autonomously service a received message, withoutinteracting with the user; and a common service layer configured toreceive a message, and route the received message to a selected one ofthe plurality of agents for service; wherein each of the agents isconfigured to determine, on receipt of a message, a current servicecontext based at least in part on some of the stored data, andautonomously service the received message based at least in part on theresults of the determining; and wherein at least one of the agents isconfigured to: receive a message reporting on a status or an occurrenceof an event associated with an external device, determine a relationshipbetween the user of the cellular phone and the external device andcontrol preferences of the user for the external device based at leastin part on the stored data, and autonomously interact with the otherdevice on behalf of the user of the cellular phone based at least inpart on the results of the determination.
 27. The cellular phone ofclaim 26, wherein at least another one of the agents is configured torecord the autonomous services performed by the agent into an autonomousservice log, and periodically submits the log to an external analysisservice for analysis.
 28. The cellular phone of claim 26, wherein atleast another one of the agents is further configured to simultaneouslyreceive at least two calls, determine callers of the calls, relativepriorities of the callers, and an operating status of the cellularphone, based at least in part on some of the stored data, andautonomously route or dispose the calls based at least in part on thedetermined relative priority of the callers based at least in part onthe results of the determination.
 29. The cellular phone of claim 26,wherein at least another one of the agents is configured to receive amessage reporting on an occurrence of an event, determine the user'spotential interest and the cellular phone's status based at least inpart on the stored data, and autonomously alert the user of the cellularphone of the occurrence based at least in part on the results of thedetermination.